/**
*  
* @Function 批量核查DAO 
* @ProjectName credit-data-platform 
* @PackageName com.py.credit.dao    
* @FileName BatchReportDao.java    
* @Date 2018年10月18日下午5:24:42
* @Author Min DongXv
* @Copyright (c) 2018, 金电联行 All Rights Reserved.   
*   
*/
package com.py.credit.dao;

import java.util.List;
import java.util.Map;
import java.util.Set;

import org.apache.ibatis.annotations.Param;

import com.py.credit.entity.BatchReportEntity;
import com.py.framework.core.common.Page;

/**
 * 
 * @Function 批量核查DAO
 * @ClassName BatchReportDao
 * @Date 2018年10月18日 下午5:24:42
 * @Author Min DongXv
 * 
 */
public interface BatchReportDao {

	/**
	 *
	 * @Function 分页查询批量核查
	 * @FileName BatchReportDao.java
	 * @MethodName getBatchReport
	 * @param columns
	 * @param additionalColumns
	 * @param conditions
	 * @param page
	 * @return
	 * @Date 2018年10月19日 上午10:06:10
	 * @Author Min DongXv
	 *
	 */
	public List<Map<String, Object>> getBatchReportByConditionForPage(@Param(value = "columns") List<String> columns,
			@Param(value = "additionalColumns") String[] additionalColumns,
			@Param(value = "conditions") List<String> conditions, @Param(value = "page") Page page,
			 @Param(value = "deptId") Long deptId, @Param(value = "userId") Long userId);

	/**
	 *
	 * @Function 新增批量核查
	 * @FileName BatchReportDao.java
	 * @MethodName addBatchReport
	 * @param entity
	 * @Date 2018年10月19日 上午10:06:10
	 * @Author Min DongXv
	 *
	 */
	public void addBatchReport(BatchReportEntity entity);

	/**
	 *
	 * @Function 更新批量核查
	 * @FileName BatchReportDao.java
	 * @MethodName editBatchReport
	 * @param map
	 * @Date 2018年10月19日 上午10:06:10
	 * @Author Min DongXv
	 *
	 */
	public void updateBatchReport(@Param(value = "map") Map<String, Object> map);

	/**
	 *
	 * @Function 更新批次状态
	 * @FileName BatchReportDao.java
	 * @MethodName updateBatchStatus
	 * @param set
	 * @Date 2018年10月19日 上午10:06:10
	 * @Author Min DongXv
	 *
	 */
	public void updateBatchStatus(@Param(value = "set") Set<String> set);

	/**
	 *
	 * @Function 获取定时任务中全部生成完成的报告
	 * @FileName BatchReportDao.java
	 * @MethodName getFinishBatchStatus
	 * @param set
	 * @Date 2018年10月19日 上午10:06:10
	 * @Author Min DongXv
	 *
	 */
	public List<String> getFinishBatchStatus(@Param(value = "set") Set<String> set);
}
